package cn.zyx.sys.mapper;

import cn.zyx.sys.entity.Role;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 角色MAPPER接口
 * @author zyx
 */
@Mapper
public interface RoleMapper {

	/**
	 * 添加角色
	 * @param role
	 */
	void insert(Role role);

	void update(Role role);

	void delete(Role role);

	/**
	 * 根据id查询角色
	 * @param id
	 * @return
	 */
	Role get(String id);

	public Role getByName(Role role);

	public Role getByEnname(Role role);

	/**
	 * 查询角色的所有无下属菜单ID
	 * @param id
	 * @return
	 */
	public List<String> queryAllNotChildrenMenuId(String id);
	/**
	 * 查询角色的所有菜单和按钮id
	 * @param id
	 * @return
	 */
	public List<String> queryAllMenuId(String id);
	/**
	 * 维护角色与菜单权限关系
	 * @param role
	 * @return
	 */
	public int deleteRoleMenu(Role role);

	public int insertRoleMenu(Role role);

	/**
	 * 维护角色与数据权限关系
	 * @param role
	 * @return
	 */
	public int deleteRoleDataRule(Role role);

	public int insertRoleDataRule(Role role);

    List<Role> findAllList(Role role);

	Integer findPageCount(Role role);

	List<Role> findList(Role role);
}
